package main

import (
	"fmt"
	"github.com/kataras/iris/v12"
	"github.com/kataras/iris/v12/middleware/logger"
	config2 "goServer/config"
	"goServer/models"
	"goServer/registe_router_handle"
	"goServer/sessionManage"
)

// 全局变量
var (
	changeDb = false
	//db 	  *gorm.DB
)

func main() {
	// 初始化配置,读取配置文件
	config2.Config.InitConfig()
	// 初始化session管理器
	sessionManage.InitSessionManage()

	// db Init
	db, err := models.GetDB(config2.Config.Dburl)

	if db != nil {
		fmt.Println("db ok")
	}

	if err != nil {
		fmt.Println("db error")
		panic(err)
	}

	// 判断是否需要添加数据库数据
	if changeDb {
		//
		models.ClearDbData(db)

		// 初始化数据库数据
		models.AddInitData(db)

		//defer db.DB().Close()
	}
	fmt.Println(config2.Config.Dburl)

	app := iris.New()
	app.Use(logger.New())

	// register router handle
	registe_router_handle.InitRouterHandle(app)

	app.Get("index", func(ctx iris.Context) {

		sessionManage.Sess.Start(ctx).Set("username", "iris")
		//write a string to the response body
		ctx.Writef("From server:8080: Hello World!")
		// ctx.Write("From server:8080: Hello World!")
	})

	// start the server
	app.Run(iris.Addr("localhost:8080"))

}
